package com.uatair.system.domain;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.uatair.common.annotation.Excel;
import com.uatair.common.core.domain.BaseEntity;

/**
 * 飞机主对象 tp_uav
 * 
 * @author uatair
 * @date 2025-06-20
 */
@Data
public class TpUavTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    /** $column.columnComment */
    private Long id;

    /** 项目任务id */
    private String taskId;

    /** 所属第三方id */
    private Long platformId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String name;

    /** sn */
    @Excel(name = "sn")
    private String sn;

    /** 1在线 0不在线 */
    @Excel(name = "1在线 0不在线")
    private String online;

    /** 无人机类型 0:多旋翼；1:固定翼；2:单旋翼；3:直升机；4:其他。 */
    @Excel(name = "无人机类型 0:多旋翼；1:固定翼；2:单旋翼；3:直升机；4:其他。")
    private String uavType;

    /** 无人机型号 Q100/Q20 */
    @Excel(name = "无人机型号 Q100/Q20")
    private String model;

    /** 图片 */
    @Excel(name = "图片")
    private String image;

    /** 流地址 */
    @Excel(name = "流地址")
    private String streamAddress;

    /** 套装编码 */
    @Excel(name = "套装编码")
    private String codeOfSuit;

    /** 飞控编码 */
    @Excel(name = "飞控编码")
    private String codeOfFlightControl;

    /** 地面站编码 */
    @Excel(name = "地面站编码")
    private String codeOfGroundStation;

    /** 机架号 */
    @Excel(name = "机架号")
    private String codeOfBodyFrame;

    /** 生产商 */
    @Excel(name = "生产商")
    private String factory;

    /** 无人机服务组织名称 */
    @Excel(name = "无人机服务组织名称")
    private String orgName;

    /** 无人机组织代码 */
    @Excel(name = "无人机组织代码")
    private String orgCode;

    /** 负责人名称 */
    @Excel(name = "负责人名称")
    private String chargeName;

    /** 负责人联系方式 */
    @Excel(name = "负责人联系方式")
    private String chargePhone;

    /** 制造商 */
    @Excel(name = "制造商")
    private String producer;

    /** 推送状态 0-未推送 1-推送成功 2-推送失败 */
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

}
